@@ -0,0 +1,38 @@ |
||
1 |
+.git |
|
2 |
+tmp |
|
3 |
+log |
|
4 |
+doc |
|
5 |
+spec |
|
6 |
+media |
|
7 |
+.openshift |
|
8 |
+.bundle |
|
9 |
+vendor/bundle |
|
10 |
+db/*.sqlite3 |
|
11 |
+public/system/* |
|
12 |
+coverage |
|
13 |
+spec/tmp/* |
|
14 |
+.travis.yml |
|
15 |
+build_docker_image.sh |
|
16 |
+ |
|
17 |
+# Copied from .gitignore |
|
18 |
+*.rbc |
|
19 |
+*.sassc |
|
20 |
+.sass-cache |
|
21 |
+capybara-*.html |
|
22 |
+.rspec |
|
23 |
+!/tmp/.gitkeep |
|
24 |
+**.orig |
|
25 |
+rerun.txt |
|
26 |
+pickle-email-*.html |
|
27 |
+.idea/ |
|
28 |
+.DS_Store |
|
29 |
+.env |
|
30 |
+deployment/tmp |
|
31 |
+deployment/cookbooks |
|
32 |
+.vagrant |
|
33 |
+.*un~ |
|
34 |
+.ruby-gemset |
|
35 |
+.ruby-version |
|
36 |
+manifest.yml |
|
37 |
+config/unicorn.rb |
|
38 |
+db/schema.rb |
@@ -1,11 +1,29 @@ |
||
1 |
-sudo: false |
|
1 |
+dist: trusty |
|
2 |
+sudo: required |
|
2 | 3 |
language: ruby |
4 |
+services: |
|
5 |
+ - docker |
|
6 |
+ - postgresql |
|
3 | 7 |
env: |
4 | 8 |
global: |
5 | 9 |
- APP_SECRET_TOKEN=b2724973fd81c2f4ac0f92ac48eb3f0152c4a11824c122bcf783419a4c51d8b9bba81c8ba6a66c7de599677c7f486242cf819775c433908e77c739c5c8ae118d |
10 |
+ - secure: fzmSI7PQz6CJiIJNAtLAuy3TMmYCrK4bUil3uufh8JkHfpSGWOZt2i6fZ8yZ7pzwG5Aw7eZDgdFsNcEPJlgUDJhlwjg+QxCJslhotTQ9qI3Ieo85peWlU9dZFTOZcrCu0net/hY2FE4ZpTRb5r8A/DRv9ukA8P8tShhePCjckgg= |
|
11 |
+ - secure: YjW07LpRSiC9xB6PhLQ4LVv2VphvF3IacV43PLfvzdagjy14yAwKXTUlSadgRaMbndB2dlCTe3YcY11a/xtX/2HDrF14NHPXQdL7e2dJUS3CDLSKZK26x1SOiaaDIrl1jO1xr5kOUd+564MAcNUzDTJQR4CrWl/5t6EwW4iYQVc= |
|
12 |
+ - secure: RJiSTB9Anax6uL6mgYY1m42w71ohlsfIlVCk7ho6W19ZfSzQOfom0mBdeNwfgmXsMMnvnqatfxSg8k3C//pRtI/tjzAovHd7t1YIN1IkDNf9uSpzrIeXXc4fSHaVxnl512oI/eBQy9MSBjVZjrg5XEzLKKEGsZCai+ZKB4PS+nM= |
|
6 | 13 |
matrix: |
7 | 14 |
- DATABASE_ADAPTER=mysql2 |
8 | 15 |
- DATABASE_ADAPTER=postgresql DATABASE_USERNAME=postgres |
16 |
+ - DOCKER_IMAGE=cantino/huginn-single-process DOCKERFILE=docker/single-process/Dockerfile |
|
17 |
+ - DOCKER_IMAGE=cantino/huginn DOCKERFILE=docker/multi-process/Dockerfile |
|
18 |
+matrix: |
|
19 |
+ exclude: |
|
20 |
+ - env: DOCKER_IMAGE=cantino/huginn-single-process DOCKERFILE=docker/single-process/Dockerfile |
|
21 |
+ - env: DOCKER_IMAGE=cantino/huginn DOCKERFILE=docker/multi-process/Dockerfile |
|
22 |
+ include: |
|
23 |
+ - rvm: 2.3.0 |
|
24 |
+ env: DATABASE_ADAPTER=mysql2 DOCKER_IMAGE=cantino/huginn-single-process DOCKERFILE=docker/single-process/Dockerfile |
|
25 |
+ - rvm: 2.3.0 |
|
26 |
+ env: DATABASE_ADAPTER=mysql2 DOCKER_IMAGE=cantino/huginn DOCKERFILE=docker/multi-process/Dockerfile |
|
9 | 27 |
rvm: |
10 | 28 |
- 2.0.0 |
11 | 29 |
- 2.1 |
@@ -13,9 +31,11 @@ rvm: |
||
13 | 31 |
- 2.3.0 |
14 | 32 |
cache: bundler |
15 | 33 |
bundler_args: --without development production |
16 |
-before_script: |
|
17 |
-- bundle exec rake db:create db:migrate |
|
18 |
-script: bundle exec rake |
|
34 |
+before_install: |
|
35 |
+ - sudo apt-get -qq update |
|
36 |
+ - sudo apt-get install -y mysql-server |
|
37 |
+script: |
|
38 |
+ - if [ -z "${DOCKER_IMAGE}" ]; then bundle exec rake db:create db:migrate && bundle exec rake; else ./build_docker_image.sh; fi |
|
19 | 39 |
notifications: |
20 | 40 |
irc: |
21 | 41 |
channels: |
@@ -29,4 +49,4 @@ notifications: |
||
29 | 49 |
- https://webhooks.gitter.im/e/5f92cc0393c6f1defe0d |
30 | 50 |
on_success: change # options: [always|never|change] default: always |
31 | 51 |
on_failure: always # options: [always|never|change] default: always |
32 |
- on_start: false # default: false |
|
52 |
+ on_start: never # options: [always|never|change] default: never |
@@ -0,0 +1,14 @@ |
||
1 |
+#!/bin/bash |
|
2 |
+set -ev |
|
3 |
+ |
|
4 |
+docker pull $DOCKER_IMAGE |
|
5 |
+docker build -t $DOCKER_IMAGE -f $DOCKERFILE . |
|
6 |
+ |
|
7 |
+if [[ -n "${DOCKER_USER}" && "${TRAVIS_PULL_REQUEST}" = 'false' && "${TRAVIS_BRANCH}" = "master" ]]; then |
|
8 |
+ docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS |
|
9 |
+ docker tag $DOCKER_IMAGE $DOCKER_IMAGE:$TRAVIS_COMMIT |
|
10 |
+ docker push $DOCKER_IMAGE |
|
11 |
+ docker push $DOCKER_IMAGE:$TRAVIS_COMMIT |
|
12 |
+else |
|
13 |
+ echo "Docker image are only pushed for builds of the master branch when Docker Hub credentials are present." |
|
14 |
+fi |
@@ -1,12 +1,25 @@ |
||
1 |
-FROM cantino/huginn-single-process:latest |
|
1 |
+FROM ubuntu:14.04 |
|
2 | 2 |
MAINTAINER Andrew Cantino |
3 | 3 |
|
4 |
-WORKDIR /app |
|
4 |
+ADD docker/scripts/prepare /scripts/prepare |
|
5 |
+RUN /scripts/prepare |
|
5 | 6 |
|
6 |
-ADD scripts/standalone-packages /scripts/standalone-packages |
|
7 |
+ADD docker/multi-process/scripts/standalone-packages /scripts/standalone-packages |
|
7 | 8 |
RUN /scripts/standalone-packages |
8 | 9 |
|
9 |
-ADD scripts/init /scripts/init |
|
10 |
+WORKDIR /app |
|
11 |
+ |
|
12 |
+ADD ["Gemfile", "Gemfile.lock", "/app/"] |
|
13 |
+ADD lib/gemfile_helper.rb /app/lib/ |
|
14 |
+ADD vendor/gems /app/vendor/gems |
|
15 |
+ |
|
16 |
+RUN chown -R huginn:huginn /app && \ |
|
17 |
+ sudo -u huginn -H echo "gem 'sqlite3', '~> 1.3.11'" >> /app/Gemfile && \ |
|
18 |
+ sudo -u huginn -H LC_ALL=en_US.UTF-8 RAILS_ENV=production ON_HEROKU=true bundle install --without test development --path vendor/bundle -j 4 |
|
19 |
+COPY . /app |
|
20 |
+ |
|
21 |
+ADD ["docker/scripts/setup", "docker/multi-process/scripts/init", "/scripts/"] |
|
22 |
+RUN /scripts/setup |
|
10 | 23 |
|
11 | 24 |
VOLUME /var/lib/mysql |
12 | 25 |
|
@@ -96,9 +96,9 @@ For variables in the .env.example that are commented out, the default is to not |
||
96 | 96 |
|
97 | 97 |
## Building on your own |
98 | 98 |
|
99 |
-You don't need to do this on your own, because there is an [automated build](https://registry.hub.docker.com/u/cantino/huginn/) for this repository, but if you really want: |
|
99 |
+You don't need to do this on your own, because there is an [automated build](https://registry.hub.docker.com/u/cantino/huginn/) for this repository, but if you really want run this command in the Huginn root directory: |
|
100 | 100 |
|
101 |
- docker build --rm=true --tag={yourname}/huginn . |
|
101 |
+ docker build --rm=true --tag={yourname}/huginn -f docker/multi-process/Dockerfile . |
|
102 | 102 |
|
103 | 103 |
## Source |
104 | 104 |
|
@@ -1,28 +1,38 @@ |
||
1 |
-mysqldata: |
|
2 |
- image: mysql:5.7 |
|
3 |
- command: /bin/true |
|
1 |
+# This needs at least compose 1.6.0 |
|
2 |
+version: '2' |
|
4 | 3 |
|
5 |
-mysql: |
|
6 |
- image: mysql:5.7 |
|
7 |
- volumes_from: |
|
8 |
- - mysqldata |
|
9 |
- environment: |
|
10 |
- MYSQL_ROOT_PASSWORD: myrootpassword |
|
11 |
- MYSQL_DATABASE: huginn |
|
12 |
- MYSQL_USER: huginn |
|
13 |
- MYSQL_PASSWORD: myhuginnpassword |
|
4 |
+services: |
|
5 |
+ mysqldata: |
|
6 |
+ image: mysql:5.7 |
|
7 |
+ command: /bin/true |
|
14 | 8 |
|
15 |
-huginn: |
|
16 |
- build: . |
|
17 |
- ports: |
|
18 |
- - 3000:3000 |
|
19 |
- environment: |
|
20 |
- HUGINN_DATABASE_NAME: huginn |
|
21 |
- HUGINN_DATABASE_USERNAME: root |
|
22 |
- HUGINN_DATABASE_PASSWORD: myrootpassword |
|
23 |
- INTENTIONALLY_SLEEP: 10 |
|
24 |
- #DATABASE_INITIAL_CONNECT_MAX_RETRIES: 5 |
|
25 |
- PORT: 3000 |
|
26 |
- links: |
|
27 |
- - mysql |
|
9 |
+ mysql: |
|
10 |
+ image: mysql:5.7 |
|
11 |
+ volumes_from: |
|
12 |
+ - mysqldata |
|
13 |
+ ports: |
|
14 |
+ - "3306:3306" |
|
15 |
+ environment: |
|
16 |
+ MYSQL_ROOT_PASSWORD: myrootpassword |
|
17 |
+ MYSQL_DATABASE: huginn |
|
18 |
+ MYSQL_USER: huginn |
|
19 |
+ MYSQL_PASSWORD: myhuginnpassword |
|
28 | 20 |
|
21 |
+ huginn: |
|
22 |
+ build: |
|
23 |
+ context: ../../ |
|
24 |
+ dockerfile: docker/multi-process/Dockerfile |
|
25 |
+ restart: always |
|
26 |
+ environment: |
|
27 |
+ HUGINN_DATABASE_NAME: huginn |
|
28 |
+ HUGINN_DATABASE_USERNAME: root |
|
29 |
+ HUGINN_DATABASE_PASSWORD: myrootpassword |
|
30 |
+ INTENTIONALLY_SLEEP: 10 |
|
31 |
+ #DATABASE_INITIAL_CONNECT_MAX_RETRIES: 5 |
|
32 |
+ PORT: 3000 |
|
33 |
+ MYSQL_PORT_3306_TCP_ADDR: mysql |
|
34 |
+ MYSQL_PORT_3306_TCP_PORT: 3306 |
|
35 |
+ ports: |
|
36 |
+ - 3000:3000 |
|
37 |
+ links: |
|
38 |
+ - mysql |
@@ -46,7 +46,7 @@ echo "RAILS_SERVE_STATIC_FILES=true" >> .env |
||
46 | 46 |
|
47 | 47 |
chmod ugo+r /app/.env |
48 | 48 |
source /app/.env |
49 |
-sudo -u huginn -H bundle install --deployment --without test |
|
49 |
+sudo -u huginn -H bundle install --without test development --path vendor/bundle |
|
50 | 50 |
|
51 | 51 |
# use default port number if it is still not set |
52 | 52 |
case "${DATABASE_ADAPTER}" in |
@@ -38,3 +38,11 @@ rm -rf /usr/share/doc/ |
||
38 | 38 |
rm -rf /usr/share/man/ |
39 | 39 |
rm -rf /usr/share/locale/ |
40 | 40 |
rm -rf /var/log/* |
41 |
+ |
|
42 |
+# add a huginn group and user |
|
43 |
+adduser --group huginn |
|
44 |
+adduser --disabled-login --ingroup huginn --gecos 'Huginn' --no-create-home --home /app huginn |
|
45 |
+passwd -d huginn |
|
46 |
+ |
|
47 |
+mkdir -p /app/lib/ |
|
48 |
+mkdir -p /app/vendor/gems |
@@ -0,0 +1,28 @@ |
||
1 |
+#!/bin/bash |
|
2 |
+set -e |
|
3 |
+ |
|
4 |
+cd /app |
|
5 |
+ |
|
6 |
+export LC_ALL=en_US.UTF-8 |
|
7 |
+ |
|
8 |
+# Ensure the huginn user has access to the required directories |
|
9 |
+sudo -u huginn -H mkdir -p tmp/pids tmp/cache tmp/sockets log |
|
10 |
+sudo -u huginn -H touch log/production.log |
|
11 |
+# Get rid of annoying "fatal: Not a git repository (or any of the parent directories): .git" messages |
|
12 |
+sudo -u huginn -H git init |
|
13 |
+ |
|
14 |
+# HACK: We need a database connection to precompile the assets, use sqlite for that |
|
15 |
+cp Gemfile Gemfile.bak |
|
16 |
+echo "gem 'sqlite3', '~> 1.3.11'" >> /app/Gemfile |
|
17 |
+RAILS_ENV=production APP_SECRET_TOKEN=secret DATABASE_ADAPTER=sqlite3 ON_HEROKU=true bundle install --without test development --path vendor/bundle -j 4 |
|
18 |
+RAILS_ENV=production APP_SECRET_TOKEN=secret DATABASE_ADAPTER=sqlite3 ON_HEROKU=true bundle exec rake assets:clean assets:precompile |
|
19 |
+ |
|
20 |
+# Bundle again to get rid of the sqlite3 gem |
|
21 |
+cp Gemfile.bak Gemfile |
|
22 |
+RAILS_ENV=production APP_SECRET_TOKEN=secret DATABASE_ADAPTER=sqlite3 ON_HEROKU=true bundle install --without test development --path vendor/bundle -j 4 |
|
23 |
+ |
|
24 |
+# Configure the unicorn server |
|
25 |
+mv config/unicorn.rb.example config/unicorn.rb |
|
26 |
+sed -ri 's/^listen .*$/listen ENV["PORT"]/' config/unicorn.rb |
|
27 |
+sed -ri 's/^stderr_path.*$//' config/unicorn.rb |
|
28 |
+sed -ri 's/^stdout_path.*$//' config/unicorn.rb |
@@ -1,15 +1,23 @@ |
||
1 | 1 |
FROM ubuntu:14.04 |
2 | 2 |
MAINTAINER Dominik Sander |
3 | 3 |
|
4 |
-ADD scripts/prepare /scripts/prepare |
|
4 |
+ADD docker/scripts/prepare /scripts/prepare |
|
5 | 5 |
RUN /scripts/prepare |
6 | 6 |
|
7 |
-ADD scripts/setup /scripts/setup |
|
8 |
-RUN /scripts/setup |
|
9 |
- |
|
10 | 7 |
WORKDIR /app |
11 | 8 |
|
12 |
-ADD scripts/init /scripts/init |
|
9 |
+ADD ["Gemfile", "Gemfile.lock", "/app/"] |
|
10 |
+ADD lib/gemfile_helper.rb /app/lib/ |
|
11 |
+ADD vendor/gems /app/vendor/gems |
|
12 |
+ |
|
13 |
+RUN chown -R huginn:huginn /app && \ |
|
14 |
+ sudo -u huginn -H echo "gem 'sqlite3', '~> 1.3.11'" >> /app/Gemfile && \ |
|
15 |
+ sudo -u huginn -H LC_ALL=en_US.UTF-8 RAILS_ENV=production ON_HEROKU=true bundle install --without test development --path vendor/bundle -j 4 |
|
16 |
+COPY . /app |
|
17 |
+ |
|
18 |
+ADD ["docker/scripts/setup", "docker/single-process/scripts/init", "/scripts/"] |
|
19 |
+ |
|
20 |
+RUN /scripts/setup |
|
13 | 21 |
|
14 | 22 |
EXPOSE 3000 |
15 | 23 |
|
@@ -81,9 +81,9 @@ For variables in the .env.example that are commented out, the default is to not |
||
81 | 81 |
|
82 | 82 |
## Building on your own |
83 | 83 |
|
84 |
-You don't need to do this on your own, but if you really want: |
|
84 |
+You don't need to do this on your own, but if you really want run this command in the Huginn root directory: |
|
85 | 85 |
|
86 |
- docker build --rm=true --tag={yourname}/huginn . |
|
86 |
+ docker build --rm=true --tag={yourname}/huginn -f docker/single-process/Dockerfile . |
|
87 | 87 |
|
88 | 88 |
## Source |
89 | 89 |
|
@@ -1,35 +1,55 @@ |
||
1 |
-mysqldata: |
|
2 |
- image: mysql:5.7 |
|
3 |
- command: /bin/true |
|
1 |
+# This needs at least compose 1.6.0 |
|
2 |
+version: '2' |
|
4 | 3 |
|
5 |
-mysql: |
|
6 |
- image: mysql:5.7 |
|
7 |
- volumes_from: |
|
8 |
- - mysqldata |
|
9 |
- environment: |
|
10 |
- MYSQL_ROOT_PASSWORD: myrootpassword |
|
11 |
- MYSQL_DATABASE: huginn |
|
12 |
- MYSQL_USER: huginn |
|
13 |
- MYSQL_PASSWORD: myhuginnpassword |
|
4 |
+services: |
|
5 |
+ mysqldata: |
|
6 |
+ image: mysql:5.7 |
|
7 |
+ command: /bin/true |
|
14 | 8 |
|
15 |
-huginn_web: |
|
16 |
- build: . |
|
17 |
- restart: always |
|
18 |
- extends: |
|
19 |
- file: environment.yml |
|
20 |
- service: huginn_base |
|
21 |
- ports: |
|
22 |
- - 3000:3000 |
|
23 |
- links: |
|
24 |
- - mysql |
|
9 |
+ mysql: |
|
10 |
+ image: mysql:5.7 |
|
11 |
+ volumes_from: |
|
12 |
+ - mysqldata |
|
13 |
+ ports: |
|
14 |
+ - "3306:3306" |
|
15 |
+ environment: |
|
16 |
+ MYSQL_ROOT_PASSWORD: myrootpassword |
|
17 |
+ MYSQL_DATABASE: huginn |
|
18 |
+ MYSQL_USER: huginn |
|
19 |
+ MYSQL_PASSWORD: myhuginnpassword |
|
25 | 20 |
|
26 |
-huginn_threaded: |
|
27 |
- build: . |
|
28 |
- restart: always |
|
29 |
- extends: |
|
30 |
- file: environment.yml |
|
31 |
- service: huginn_base |
|
32 |
- links: |
|
33 |
- - mysql |
|
34 |
- command: /scripts/init bin/threaded.rb |
|
21 |
+ huginn_web: |
|
22 |
+ build: |
|
23 |
+ context: ../../ |
|
24 |
+ dockerfile: docker/single-process/Dockerfile |
|
25 |
+ restart: always |
|
26 |
+ environment: |
|
27 |
+ DATABASE_ADAPTER: mysql2 |
|
28 |
+ DATABASE_NAME: huginn |
|
29 |
+ DATABASE_USERNAME: huginn |
|
30 |
+ DATABASE_PASSWORD: myhuginnpassword |
|
31 |
+ APP_SECRET_TOKEN: 3bd139f9186b31a85336bb89cd1a1337078921134b2f48e022fd09c234d764d3e19b018b2ab789c6e0e04a1ac9e3365116368049660234c2038dc9990513d49c |
|
32 |
+ MYSQL_PORT_3306_TCP_ADDR: mysql |
|
33 |
+ MYSQL_PORT_3306_TCP_PORT: 3306 |
|
34 |
+ ports: |
|
35 |
+ - 3000:3000 |
|
36 |
+ links: |
|
37 |
+ - mysql |
|
38 |
+ |
|
39 |
+ huginn_threaded: |
|
40 |
+ build: |
|
41 |
+ context: ../../ |
|
42 |
+ dockerfile: docker/single-process/Dockerfile |
|
43 |
+ restart: always |
|
44 |
+ environment: |
|
45 |
+ DATABASE_ADAPTER: mysql2 |
|
46 |
+ DATABASE_NAME: huginn |
|
47 |
+ DATABASE_USERNAME: huginn |
|
48 |
+ DATABASE_PASSWORD: myhuginnpassword |
|
49 |
+ APP_SECRET_TOKEN: 3bd139f9186b31a85336bb89cd1a1337078921134b2f48e022fd09c234d764d3e19b018b2ab789c6e0e04a1ac9e3365116368049660234c2038dc9990513d49c |
|
50 |
+ MYSQL_PORT_3306_TCP_ADDR: mysql |
|
51 |
+ MYSQL_PORT_3306_TCP_PORT: 3306 |
|
52 |
+ links: |
|
53 |
+ - mysql |
|
54 |
+ command: /scripts/init bin/threaded.rb |
|
35 | 55 |
|
@@ -1,36 +0,0 @@ |
||
1 |
-#!/bin/bash |
|
2 |
-set -e |
|
3 |
- |
|
4 |
-# add a huginn group and user |
|
5 |
-adduser --group huginn |
|
6 |
-adduser --disabled-login --ingroup huginn --gecos 'Huginn' --no-create-home --home /app huginn |
|
7 |
-passwd -d huginn |
|
8 |
- |
|
9 |
-# Shallow clone the huginn project repo |
|
10 |
-git clone --depth 1 https://github.com/cantino/huginn /app |
|
11 |
- |
|
12 |
-# Change the ownership to huginn |
|
13 |
-chown -R huginn:huginn /app |
|
14 |
- |
|
15 |
-cd app |
|
16 |
- |
|
17 |
-# create required tmp and log directories |
|
18 |
-sudo -u huginn -H mkdir -p tmp/pids tmp/cache tmp/sockets log |
|
19 |
-chmod -R u+rwX log tmp |
|
20 |
- |
|
21 |
-export LC_ALL=en_US.UTF-8 |
|
22 |
- |
|
23 |
-# HACK: We need a database connection to precompile the assets, use sqlite for that |
|
24 |
-echo "gem 'sqlite3', '~> 1.3.11'" >> Gemfile |
|
25 |
-sudo -u huginn -H RAILS_ENV=production APP_SECRET_TOKEN=secret DATABASE_ADAPTER=sqlite3 ON_HEROKU=true bundle install --without test development --path vendor/bundle -j 4 |
|
26 |
-sudo -u huginn -H RAILS_ENV=production APP_SECRET_TOKEN=secret DATABASE_ADAPTER=sqlite3 ON_HEROKU=true bundle exec rake assets:clean assets:precompile |
|
27 |
-git checkout Gemfile |
|
28 |
- |
|
29 |
-# Bundle again to get rid of the sqlite3 gem |
|
30 |
-sudo -u huginn -H ON_HEROKU=true DATABASE_ADAPTER=noop bundle install --without test development --path vendor/bundle |
|
31 |
- |
|
32 |
-# Configure the unicorn server |
|
33 |
-mv config/unicorn.rb.example config/unicorn.rb |
|
34 |
-sed -ri 's/^listen .*$/listen ENV["PORT"]/' config/unicorn.rb |
|
35 |
-sed -ri 's/^stderr_path.*$//' config/unicorn.rb |
|
36 |
-sed -ri 's/^stdout_path.*$//' config/unicorn.rb |